package com.corpdata.system.org.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import com.corpdata.system.org.dao.DeptDao;
import com.corpdata.system.org.entity.Dept;
import com.corpdata.system.org.service.DeptService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.corpdata.common.result.Result;
import com.corpdata.common.result.DataGrid;
import com.corpdata.common.result.util.ResultUtil;

/**
 * 
 * 
 * @author zealon
 * @email zealon@126.com
 * @date 2018-04-24 17:21:04
 */
@Service
public class DeptServiceImpl implements DeptService {

	@Autowired
	private DeptDao deptDao;
	
	@Override
	public Dept selectById(String id){
		return deptDao.selectById(id);
	}
	
	/**
	 * 查询分页数据列表
	 * 
	 * @param dg：数据列表对象
	 * @return：DataGrid
	 */
	@Override
	public DataGrid<Dept> selectDataGrid(DataGrid dg) {
		PageHelper.startPage(dg.getPage(), dg.getSize());
		Page<Dept> rows = deptDao.selectList(dg.getSearchParams());
		dg.setTotalAndRows(rows.getTotal(), rows);
		return dg;
	}
	
	/**
	 * 查询数据列表
	 * 
	 * @param params：数据列表对象
	 * @return
	 */
	public Page<Dept> selectList(Map<String, Object> params) {
		return deptDao.selectList(params);
	}
	
	/**
	 * 查询总数量
	 * 
	 * @param params:参数集
	 * @return：Internet
	 */
	@Override
	public int selectCount(Map<String, Object> params){
		return deptDao.selectCount(params);
	}
	
	/**
	 * 新增数据
	 * 
	 * @param dept
	 * @return
	 */
	@Override
	public Result insert(Dept dept){
		if(deptDao.insert(dept)>0){
			return ResultUtil.success();
		}else{
			return ResultUtil.fail();
		}
	}
	
	/**
	 * 修改数据
	 * 
	 * @param dept
	 * @return
	 */
	@Override
	public Result update(Dept dept){
		if(deptDao.update(dept)>0){
			return ResultUtil.success();
		}else{
			return ResultUtil.fail();
		}
	}
	
	/**
	 * 按id删除数据
	 * 
	 * @param id
	 * @return
	 */
	@Override
	public Result delete(String id){
		if(deptDao.delete(id)>0){
			return ResultUtil.success();
		}else{
			return ResultUtil.fail();
		}
	}
	
	/**
	 * 按ids批量删除数据
	 * 
	 * @param id
	 * @return
	 */
	@Override
	public Result batchDelete(String[] ids){
		if(deptDao.batchDelete(ids)>0){
			return ResultUtil.success();
		}else{
			return ResultUtil.fail();
		}
	}
	
}
